package com.kehongborui.ticket.aop;

import org.aspectj.lang.ProceedingJoinPoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author zhang peng yang ming
 * @CopyRight (C) http://www.csdn.com
 * @brief 记录操作日志的切面组件
 * @email 122162005@qq.com
 * @date 2018-08-15
 */
public class OperateLogger {
    public void log() {
        System.out.println("前置通知：开始记录日志啦");
    }

    public void logAfter() {
        System.out.println("后置通知：记录日志完成");
    }

    public void logException(Exception e) {
        e.printStackTrace();
        System.out.println(e.getMessage());
    }


    public Object logAround(ProceedingJoinPoint pjp) throws Throwable {
        System.out.println("这里是环绕通知前置部分");
        Object result = pjp.proceed(); // 执行目标组件方法
        System.out.println("这是调用controller中的方法后，获取到的返回值" + result);
        System.out.println("这里是环绕通知后置部分");
        return result; // 把执行目标组件方法过后的返回值，返回
    }

    public void afterReturning() {
        System.out.println("----------------------------------->");
    }
}
